Skip to main content

transactions

Get Transactions

Overview

Returns a paginated, date-bounded list of money transfers involving the authenticated vendor's wallet.

The staging environment for the VCash API is located at: https://staging.api.vcash.rs

Authentication

All requests to the vendor agent API are authenticated with the same wallet API key the vendor already uses for the existing integration. (if you have a custom integration, we can still issue an API key for the sole purpose of calling this new API) The API key is sent on every request in the secret HTTP header:

secret: <YOUR_WALLET_API_KEY>
danger

Unless you request us to change the defaults, do not use the "Bearer" prefix, do not use the Authorization header. The header format is: secret: <your-api-key>

If the API key is missing, malformed, expired, or the source IP is not allowed by the wallet's IP whitelist (see IP whitelist), the API responds with 401 Unauthorized.

Endpoint

Endpoint: https://staging.api.vcash.rs/agent/transactions
Method: GET

Query parameters

NameTypeRequiredDescription
dateFromISO-8601 dateyesInclusive lower bound on the transfer's insertDate (UTC).
dateToISO-8601 dateyesInclusive upper bound on the transfer's insertDate (UTC). Must be >= dateFrom. The window may not exceed 92 days.
pageNointegerno1-based page number. Defaults to 1.
pageSizeintegernoPage size. Defaults to 20. Maximum allowed value is 500.
typeCodeenum (repeated)noFilter by money transfer type. One or more of: VOUCHER, DIRECT_TRANSFER, MANUAL_TRANSFER. Repeat the parameter for multiple values.
statusCodeenum (repeated)noFilter by transfer status. One or more of: PENDING_APPROVAL, PENDING_ACTIVATION, APPROVED, REJECTED, CLOSED, COMPLETED, REFUNDED, ERROR.
moneyTransferCodestringnoLook up a single transfer by its money transfer code.
voucherCodestringnoLook up a single voucher by its voucher code.
amountFromdecimalnoInclusive lower bound on the transfer amount.
amountTodecimalnoInclusive upper bound on the transfer amount.

Example request

curl -G "https://<vcash-host>/agent/transactions" \
-H "secret: $VCASH_WALLET_API_KEY" \
--data-urlencode "dateFrom=2026-05-01T00:00:00Z" \
--data-urlencode "dateTo=2026-05-12T23:59:59Z" \
--data-urlencode "statusCode=COMPLETED" \
--data-urlencode "typeCode=VOUCHER" \
--data-urlencode "pageNo=1" \
--data-urlencode "pageSize=100"

Response

200 OK with the following JSON body:

{
"page": {
"pageNo": 1,
"pageSize": 100,
"pageCount": 3,
"itemsOnPage": 100,
"itemsCount": 247
},
"summary": {
"pageSumAmount": 154300.00,
"pageSuccessSumAmount": 152100.00,
"pageSuccessCount": 98,
"totalSumAmount": 412900.00,
"totalSuccessSumAmount": 405250.00,
"totalSuccessCount": 240
},
"transactions": [
{
"moneyTransferId": "f32cba48-2cc6-4a2f-9b3f-9d4ddc9d2110",
"moneyTransferCode": "MT-202605-000123",
"typeCode": "VOUCHER",
"from": {
"walletId": 10570,
"company": "Acme Vendor",
"identifier": null,
"agentTypeCode": "VENDOR"
},
"to": {
"walletId": 10500,
"company": "Downtown Cashier Co.",
"identifier": "user-12345",
"agentTypeCode": "CASHIER"
},
"amount": 1500.00,
"currencyCode": "RSD",
"statusCode": "COMPLETED",
"date": "2026-05-12T13:42:08Z",
"cashier": {
"cashierId": "9c1c7b8a-0c41-4b8f-8a3a-1c4f9d0d3a11",
"fullName": "Marija Petrović"
},
"venue": {
"venueId": 4711,
"name": "Downtown Branch",
"address": "Knez Mihailova 1",
"city": "Belgrade"
},
"voucherCode": "VC-AB12-CD34-EF56",
"voucherTypeCode": "STANDARD_VOUCHER"
}
]
}

Field reference

page

FieldDescription
pageNoThe page number returned (1-based).
pageSizePage size in effect for this response.
pageCountTotal number of pages available for the current filter.
itemsOnPageNumber of transactions in transactions[].
itemsCountTotal number of transactions matching the filter across all pages.

summary

FieldDescription
pageSumAmountSum of amount for the current page.
pageSuccessSumAmountSum of amount for the current page, restricted to non-failed transfers (excludes ERROR, REFUNDED, REJECTED).
pageSuccessCountCount of non-failed transfers in the current page.
totalSumAmountSum of amount across the full filter (all pages).
totalSuccessSumAmountSum of amount across the full filter, restricted to non-failed transfers.
totalSuccessCountCount of non-failed transfers across the full filter.

transactions[]

FieldDescription
moneyTransferIdStable UUID of the transfer.
moneyTransferCodeHuman-readable transfer code (also used as a reconciliation key).
typeCodeOne of VOUCHER, DIRECT_TRANSFER, MANUAL_TRANSFER.
fromSending wallet/agent. walletId matches the vendor's own wallet for outgoing transfers (e.g. vendor-issued vouchers).
toReceiving wallet/agent. walletId matches the vendor's own wallet for incoming transfers.
amountDecimal amount in currencyCode.
currencyCodeISO-4217 currency code.
statusCodeCurrent status of the transfer; see the statusCode filter values above.
dateUTC timestamp the transfer was created.
cashierCashier that processed the transfer at the venue, when applicable.
venueVenue at which the transfer was processed, when applicable.
voucherCodePresent for voucher-type transfers. Use this when reconciling against a vendor-issued voucher.
voucherTypeCodePresent for voucher-type transfers (e.g. STANDARD_VOUCHER).

Errors

HTTP statusCodeWhen
400MANDATORY_FIELDdateFrom or dateTo was not supplied.
400INVALID_VALUEdateFrom > dateTo, the window exceeds 92 days, or pageNo/pageSize are out of range.
401The secret header is missing, the API key is invalid/expired, or the source IP is not in the configured whitelist for the wallet.

Notes for integrators

  • Pagination: iterate while pageNo < page.pageCount. Always supply pageSize explicitly so a future change to the default does not silently alter pagination behavior.
  • Idempotency: this is a pure read endpoint and is safe to retry.
  • Time zone: all timestamps in the response are UTC.